package com.niiwoo.activity.stage.dto.request.prize;

import com.niiwoo.activity.stage.enums.prize.UserPrizeActionTypeIdEnum;
import com.niiwoo.activity.stage.enums.prize.UserPrizeFromTypeEnum;
import com.niiwoo.activity.stage.enums.prize.UserPrizeSendWayEnum;
import com.niiwoo.activity.stage.enums.prize.UserPrizeTypeIdEnum;
import com.niiwoo.activity.stage.enums.prize.UserPrizeUseActionTypeEnum;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description 现金红包
 * @Author zq
 * @Date 2017/11/24
 */
@Getter
@Setter
public class ActivityPrizeCashReqDTO extends BaseActivityReqDTO implements Serializable {

    //value = "用户id
    private String userId;
    //value = "红包类型：0 提现红包、 4现金红包、5担保理财金、7投资理财金、8投资加息券、 9投资返现红包、10担保返现红包、11借款返现红包 12借款利率折扣卡
    private UserPrizeTypeIdEnum prizeTypeIdEnum;
    //红包金额
    private BigDecimal prizeValue;
    //value = "红包名称
    private String prizeName;
    //红包描述
    private String prizeDescription;
    // 红包来源
    private UserPrizeActionTypeIdEnum actionTypeIdEnum;
    // 红包使用类型
    private UserPrizeUseActionTypeEnum useActionTypeEnum;
    //适用标的期限
    private Byte suitProjectLimit;
    //适用金额最小值
    private BigDecimal minSuitProjectAmount;
    //适用金额最大值
    private BigDecimal maxSuitProjectAmount;
    //有效开始时间
    private Date effectiveStart;
    //有效结束时间
    private Date effectiveEnd;
    //获奖明细记录Id（tab_gainRecordDetail表Id）
    private Long gainRecordDetailId;
    //奖品表（tab_goods）Id
    private Long goodsId;
    //活动编码(tab_activity表activityCode)
    private String activityCode;
    //创建人id
    private Long createManagerId;
    //创建人姓名
    private String createManagerName;
    //发送方式：0自动发送 1人工发送
    @NotNull
    private UserPrizeSendWayEnum sendWayEnum;
    // 红包来源
    private UserPrizeFromTypeEnum fromTypeEnum;
    // 项目id
    private Long projectId;
    // 是否自动审核 默认不自动审核
    private boolean autoAudit = false;

}
